Electronic devices such as electronic book (eBook) reader devices, cellular telephones, portable media players, desktop computers, laptops, tablet computers, netbooks, personal digital assistants, and the like, may use multimedia cards (“MMCs”) to store data.
A MMC comprises a memory device capable of storing information and retaining the information once power has been removed. MMC's include those defined by the e-MMC and miCARD specifications maintained by the JEDEC Solid State Technology Association of Arlington, Va. An electronic device may have a MMC host controller which communicates with the MMC to store and retrieve information.
Traditionally, the transfers of sections of data, or “blocks,” between a MMC host controller and MMC have been accomplished via an “open-ended” mode of transfer. In the open-ended mode of transfer, the MMC host controller sends a read/write command for blocks. Once the last block has been transferred, a processor may send a stop command to the MMC host controller within a specified window of time, which then stops further data transfers.
However, a processor may be engaged with other tasks and may not generate the stop command within the window of time. Failure of the MMC host controller to receive the stop command within that window of time results in a corrupt transfer. A corrupt transfer may produce a variety of adverse effects. One adverse effect is a retry of the multiblock transfer, which delays information storage and retrieval and reduces overall throughput of data. Delays may also result in resource starvation, which occurs when a requesting device cannot access the data the device needs for uninterrupted operation.
Thus, electronic devices would benefit from a more reliable and faster system to transfer data between a MMC host controller and a MMC, without disrupting existing device drivers and other operating system infrastructure.